
package edu.upn.sigemfi.plt.beans;

import edu.upn.sigemfi.plt.bc.CuentaDelegate;
import edu.upn.sigemfi.plt.be.Cuenta;
import java.util.List;
import javax.faces.model.SelectItem;
import edu.upn.sigemfi.plt.be.Sexo;
import java.util.ArrayList;

/**
 *
 * @author Gerard
 */
public class CuentaController {

    private CuentaDelegate delagado;
    private Cuenta cuenta;
    private List<SelectItem> ListaEstadoCuenta;

    public CuentaController() {
        delagado = new CuentaDelegate();
    }

    public String nuevo(){
        cuenta = new Cuenta();
        return "nuevo";
    }

    public String registrar(){
        try {
            delagado.crear(cuenta);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "volver";
    }

    public String actualizar(){
        try {
            delagado.editar(cuenta);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "volver";
    }

    public String eliminar(){
        try {
            delagado.eliminar(cuenta);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "volver";
    }

    public Cuenta buscar(Long codigo){
        try {
            delagado.buscar(codigo);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    public List<Cuenta> geCuentas(){
        try {
            return delagado.listar();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    public Cuenta getCuenta() {
        return cuenta;
    }

    public void setCuenta(Cuenta cuenta) {
        this.cuenta = cuenta;
    }

//    public SelectItem[] getSexos() {
//        Sexo[] lista = Sexo.values();
//        SelectItem[] select = new SelectItem[lista.length];
//        int i = 0;
//        //recorre la lista , por medio del objeto sexo "s"
//        for (Sexo s : lista) {
//            // va agregando cada item del sexo detallado en el enum
//            select[i++] = new SelectItem(s, s.toString());
//        }
//        return select;
//    }

         public List<SelectItem> getEstadoCuentas() {
              try{
                ListaEstadoCuenta = new ArrayList<SelectItem>();
                ListaEstadoCuenta.add(new SelectItem("Activo","Activo"));
                ListaEstadoCuenta.add(new SelectItem("Cancelado","Cancelado"));
                ListaEstadoCuenta.add(new SelectItem("Asociado","Asociado"));
            }catch (Exception e) {
            }
            return ListaEstadoCuenta;
        }

//             public SelectItem[] getMarcarSI() {
//        SelectItem[] select = new SelectItem[marcas.size()];
//        int i = 0;
//        for (Marca m : marcas) {
//            select[i++] = new SelectItem(m, m.getNombre());
//        }
//        return select;
//    }

}
